<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- portingguide.qdoc -->
  <title>Porting Guide | Qt 5.14</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="index.html">Qt 5.14</a></td><td >Porting Guide</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.14.2 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#related-topics">Related Topics</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Porting Guide</h1>
<span class="subtitle"></span>
<!-- $$$portingguide.html-description -->
<div class="descr"> <a name="details"></a>
<p>Qt 5 is a result of the conscious effort to make this C++ framework more efficient and easy to use. This release replaces quite a few legacy APIs with more meaningful ones, such as the newer version of Qt Quick.</p>
<p>We try to maintain binary and source compatibility for all the public APIs in each release, but some changes were inevitable in an effort to make Qt a better framework. In this topic, we try to summarize those changes and provide guidance to handle them.</p>
<p>The following list summarizes the changes in Qt 5:</p>
<ul>
<li>Modularized codebase - This means only Qt essentials and the add-on modules you're interested in are needed to develop an application. To know what makes the essentials and add-on modules, refer to the <a href="qtmodules.html">modules</a> page.</li>
<li>Platform-specific code - Symbian and Meego-specific code is removed from the codebase.</li>
<li>Platform defines - All platform-specific code must be wrapped using the preprocessor macro, <code>Q_OS_*</code> instead of <code>Q_WS_*</code>.</li>
<li>Widgets - These are now part of a separate module, <a href="../qtwidgets/qtwidgets-index.html">Qt Widgets</a>. They were part of <a href="../qtgui/qtgui-index.html">Qt GUI</a> earlier.</li>
<li>Qt Quick - The older Qt Quick version (1.0) is now part of a separate <a href="http://doc.qt.io/qt-4.8/qtdeclarative-module.html">Qt Declarative</a> add-on module for compatibility purposes. We recommend using the new Qt Quick (2.0) from now on to avoid binary breaks in the future.</li>
<li>Qt3Support - This module is removed in Qt 5, so you must move away from this module before porting your codebase to Qt 5.</li>
<li>Qt <a href="../qtwebengine/qtwebengine-3rdparty-webkit.html">WebKit</a> - This module has been replaced with <a href="../qtwebengine/qtwebengine-index.html">Qt WebEngine</a>.</li>
<li>Multimedia - In Qt 5, multimedia support is provided by the <a href="../qtmultimedia/qtmultimedia-index.html">Qt Multimedia</a> module. Phonon framework is no longer part of Qt, but it continues to be maintained by the Phonon developers and has support for Qt 5. See <a href="http://phonon.kde.org">http://phonon.kde.org</a>.</li>
</ul>
<a name="related-topics"></a>
<h2 id="related-topics">Related Topics</h2>
<ul>
<li><a href="sourcebreaks.html">C++ API Changes</a></li>
<li><a href="portingcppapp.html">Porting C++ Applications to Qt 5</a></li>
<li><a href="qtquick-porting-qt5.html">Porting QML Applications to Qt 5</a></li>
<li><a href="portingqmlapp.html">Porting QML Applications to Qt 5 Example</a></li>
</ul>
</div>
<!-- @@@portingguide.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
